#define _CRT_SECURE_NO_WARNINGS 1
#include"string.h"

//void test_string1()
//{
//	string s1("hello world");
//	string s2;
//	cout << s1.c_str() << endl;
//	cout << s2.c_str() << endl;
//
//	for (size_t i = 0; i < s1.size(); i++)
//	{
//		s1[i]++;
//	}
//	cout << endl;
//
//	// s1[100];
//
//	for (size_t i = 0; i < s1.size(); i++)
//	{
//		cout << s1[i] << " ";
//	}
//	cout << endl;
//
//	const string s3("xxxx");
//	for (size_t i = 0; i < s3.size(); i++)
//	{
//		//s3[i]++;
//		cout << s3[i] << " ";
//	}
//	cout << endl;
//
//
//}

//void test_string2()
//{
//	string s3("hello world");
//	for (auto ch : s3)
//	{
//		cout << ch << " ";
//	}
//	cout << endl;
//
//	string::iterator it3 = s3.begin();
//	while (it3 != s3.end())
//	{
//		*it3 -= 1;
//		cout << *it3 << " ";
//		++it3;
//	}
//	cout << endl;
//
//	const string s4("xxxx");
//	string::const_iterator it4 = s4.begin();
//	while (it4 != s4.end())
//	{
//		*it4 += 3;
//		cout << *it4 << " ";
//		++it4;
//	}
//	cout << endl;
//
//	for (auto ch : s4)
//	{
//		cout << ch << " ";
//	}
//	cout << endl;
//}


//void test_string3()
//{
//	string s1("hello world");
//	cout << s1.c_str() << endl;
//
//	s1.erase(6, 3);
//	cout << s1.c_str() << endl;
//
//	s1.erase(6, 30);
//	cout << s1.c_str() << endl;
//
//	s1.erase(3);
//	cout << s1.c_str() << endl;
//
//	string s2("hello world");
//	cout << s2.c_str() << endl;
//
//	s2.resize(5);
//	cout << s2.c_str() << endl;
//
//	s2.resize(20, 'x');
//	cout << s2.c_str() << endl;
//}

//void test_string4()
//{
//	string s1("hello world");
//	cout << s1.c_str() << endl;
//
//	string s2(s1);
//	cout << s2.c_str() << endl;
//
//	s1[0] = 'x';
//
//	cout << s1.c_str() << endl;
//	cout << s2.c_str() << endl;
//
//	string s3("xxxxx");
//	s1 = s3;
//
//	cout << s1.c_str() << endl;
//	cout << s3.c_str() << endl;
//}

void test_string5()
{
	string s1("hello world");
	cout << s1.c_str() << endl;

	s1.insert(6, "xxx");
	cout << s1.c_str() << endl;

	string s2("xxxxxxx");

	cout << s1.c_str() << endl;
	cout << s2.c_str() << endl;
	swap(s1, s2);
	s1.swap(s2);
	cout << s1.c_str() << endl;
	cout << s2.c_str() << endl;
}

int main()
{

	test_string5();


	return 0;
}